MVVM এ Navigation এবং Routing কনসেপ্ট

Microsoft Technologies - এমভিভিএম (MVVM) Navigation এবং Routing Techniques |
175
175

MVVM (Model-View-ViewModel) প্যাটার্নে Navigation এবং Routing এর ধারণা ব্যবহারকারীর ইন্টারঅ্যাকশন এবং অ্যাপ্লিকেশনের ভিউগুলোর মধ্যে সঠিকভাবে চলাচল বা স্থানান্তর পরিচালনা করতে সাহায্য করে। এই কনসেপ্ট দুটি গুরুত্বপূর্ণ, বিশেষ করে যখন আপনি একটি মাল্টি-পেজ বা মাল্টি-ভিউ অ্যাপ্লিকেশন তৈরি করেন, যেমন WPF (Windows Presentation Foundation), Xamarin, অথবা অন্যান্য ডেস্কটপ এবং মোবাইল অ্যাপ্লিকেশনে।


Navigation

Navigation হল একটি অ্যাপ্লিকেশনের এক ভিউ থেকে অন্য ভিউতে যাওয়ার প্রক্রিয়া। MVVM প্যাটার্নে, ViewModel এর মাধ্যমে ভিউগুলির মধ্যে নেভিগেশন পরিচালিত হয়, যেখানে ViewModel টার্গেট ভিউ বা পেজের জন্য প্রয়োজনীয় ডেটা প্রস্তুত করে এবং View (UI) সেই ডেটা প্রদর্শন করে।

Navigation এর উপাদান

  1. ViewModel এর মাধ্যমে Navigation: MVVM প্যাটার্নে ViewModel সাধারণত নেভিগেশন হ্যান্ডল করে না, কারণ ViewModel এর লক্ষ্য হল বিজনেস লজিক এবং ডেটা প্রসেসিং। তবে কিছু পরিস্থিতিতে, ViewModel-এ নেভিগেশন কমান্ড ব্যবহৃত হতে পারে, যেখানে ViewModel ঐ ভিউতে যাওয়ার জন্য প্রয়োজনীয় নির্দেশনা প্রদান করে।
  2. NavigationService (বিশেষত WPF বা Xamarin) ব্যবহার: কিছু ফ্রেমওয়ার্কে NavigationService ব্যবহার করে ভিউ বদলানো হয়। NavigationService একটি সার্ভিস যা নতুন পেজ বা ভিউ লোড করার জন্য ব্যবহৃত হয়। ViewModel সাধারণত NavigationService কে অ্যাক্সেস করতে পারে না, তবে ICommand বা অন্য কোন ইভেন্ট হ্যান্ডলার ব্যবহার করে নেভিগেশন শুরু করতে পারে।

উদাহরণ (WPF):

public class MainViewModel
{
    public ICommand NavigateCommand { get; }

    public MainViewModel()
    {
        NavigateCommand = new RelayCommand(NavigateToDetailsPage);
    }

    private void NavigateToDetailsPage()
    {
        // NavigationService কে কল করে DetailsPage-এ নেভিগেট করা
        NavigationService.Navigate(new DetailsPage());
    }
}

এখানে NavigateCommand কমান্ড ব্যবহারকারীকে DetailsPage-এ নিয়ে যাবে। NavigationService.Navigate() একটি পদ্ধতি যা নতুন পেজ লোড করে।


Routing

Routing হল একটি প্রক্রিয়া যেখানে URL বা কোন বিশেষ পাথ বা রুটের মাধ্যমে অ্যাপ্লিকেশনের বিভিন্ন ভিউ বা পেজে পৌঁছানো হয়। সাধারণত ওয়েব অ্যাপ্লিকেশন বা SPA (Single Page Application) তে Routing ব্যবহৃত হয়, যেখানে একটি নির্দিষ্ট URL বা রাউট পাথ অনুযায়ী ভিউ বা পেজ সিলেক্ট করা হয়।

MVVM প্যাটার্নে Routing সাধারণত ViewModel এবং View এর মধ্যে সঠিক ডেটা প্রবাহ এবং নেভিগেশন নিশ্চিত করতে ব্যবহৃত হয়। ওয়েব অ্যাপ্লিকেশন বা মোবাইল অ্যাপ্লিকেশনে রাউটিং পরিচালনার জন্য, Routing টেবিল বা Route কনফিগারেশন ব্যবহৃত হতে পারে।

Routing এর উপাদান

  1. URL Routing (ওয়েব অ্যাপ্লিকেশন): ওয়েব অ্যাপ্লিকেশনে URL বা রাউট পাথ নির্ধারণ করে কোন পেজ বা ভিউ প্রদর্শিত হবে। ASP.NET Core MVC তে URL Routing কনফিগারেশন দ্বারা রাউটের ব্যবস্থাপনা করা হয়।
  2. Xamarin বা WPF তে Routing: Xamarin বা WPF অ্যাপ্লিকেশনেও রাউটিং ব্যবস্থাপনা করা যেতে পারে, যেখানে এক ভিউ থেকে অন্য ভিউতে যাওয়ার জন্য রাউট বা পাথ নির্ধারণ করা হয়। এটি সাধারনত NavigationService বা কাস্টম রাউটিং সিস্টেমের মাধ্যমে পরিচালিত হয়।

MVVM এ Navigation এবং Routing এর উদাহরণ

1. WPF এ Navigation:

WPF অ্যাপ্লিকেশনে, নেভিগেশন সাধারণত Frame এবং Page কন্ট্রোলের মাধ্যমে পরিচালিত হয়। NavigationService ব্যবহার করে ভিউ পরিবর্তন করা হয়।

public class MainViewModel
{
    public ICommand NavigateToDetailsCommand { get; }

    public MainViewModel()
    {
        NavigateToDetailsCommand = new RelayCommand(NavigateToDetails);
    }

    private void NavigateToDetails()
    {
        // NavigationService ব্যবহার করে DetailsPage এ নেভিগেট করা
        NavigationService.Navigate(new DetailsPage());
    }
}

এই উদাহরণে, NavigateToDetailsCommand কমান্ডটি DetailsPage-এ নেভিগেট করবে।

2. Xamarin এ Navigation:

Xamarin অ্যাপ্লিকেশনে, INavigation ইন্টারফেস ব্যবহার করে নেভিগেশন করা হয়।

public class MainViewModel
{
    public ICommand NavigateToDetailsCommand { get; }

    public MainViewModel()
    {
        NavigateToDetailsCommand = new RelayCommand(NavigateToDetails);
    }

    private async void NavigateToDetails()
    {
        // Xamarin নেভিগেশন
        await Application.Current.MainPage.Navigation.PushAsync(new DetailsPage());
    }
}

এখানে PushAsync() পদ্ধতি ব্যবহার করে অ্যাপ্লিকেশনটি নতুন পেজে চলে যায়।


Routing (ASP.NET Core MVC উদাহরণ)

ASP.NET Core MVC অ্যাপ্লিকেশনে, রাউটিং URL পাথের মাধ্যমে পরিচালিত হয়। Startup.cs ফাইলে রাউট কনফিগারেশন করা হয়।

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    app.UseMvc(routes =>
    {
        routes.MapRoute(
            name: "default",
            template: "{controller=Home}/{action=Index}/{id?}");
    });
}

এখানে, controller এবং action এর মাধ্যমে URL রাউটিং কনফিগার করা হয়েছে।


সারাংশ

MVVM প্যাটার্নে Navigation এবং Routing দুটি গুরুত্বপূর্ণ কনসেপ্ট যা অ্যাপ্লিকেশনটির ভিউগুলোর মধ্যে সঠিকভাবে চলাচল এবং ডেটার সঠিক প্রবাহ নিশ্চিত করে। Navigation ব্যবহৃত হয় ভিউগুলির মধ্যে স্থানান্তর করতে, এবং Routing ব্যবহৃত হয় একটি নির্দিষ্ট URL বা পাথের মাধ্যমে ভিউ বা পেজ সিলেক্ট করতে। MVVM প্যাটার্নে এই দুটি কনসেপ্ট ইন্টারঅ্যাক্টিভ এবং ইউজার-ফ্রেন্ডলি অ্যাপ্লিকেশন ডিজাইন করতে সাহায্য করে।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion